//#include "Scene0.h"
#include "Director.h"
#include "TheaterBase.h"
//#include "Player.h"
//#include "Dandelion.h"
//#include "Scene1.h"

//DAISY::SceneFactoryPtr scene = DAISY::SceneFactoryPtr(new Branch1Scene0Factory());
//DAISY::ActorFactoryPtr actor = DAISY::ActorFactoryPtr(new Branch1PlayerFactory());
DAISY::DirectorFactoryPtr director = DAISY::DirectorFactoryPtr(new DAISY::DirectorBaseFactory());
DAISY::TheaterFactoryPtr theater = DAISY::TheaterFactoryPtr(new DAISY::TheaterBaseFactory());
//DAISY::ActorFactoryPtr actor_dandelion = DAISY::ActorFactoryPtr(new Branch1DandelionFactory());
//DAISY::SceneFactoryPtr scene1 = DAISY::SceneFactoryPtr(new Branch1Scene1Factory());

extern "C" void dllStartPlugin(void)
{

	using namespace DAISY;
	//GameFactories::getInstance().addSceneFactory(scene.get()); 
	//GameFactories::getInstance().addSceneFactory(scene1.get()); 
	GameFactories::getInstance().addTheaterFactory(theater.get());
	GameFactories::getInstance().addDirectorFactory(director.get());
	//GameFactories::getInstance().addActorFactory(actor.get());
	//GameFactories::getInstance().addActorFactory(actor_dandelion.get());

}

extern "C" void dllStopPlugin(void)
{
	using namespace DAISY;
	//GameFactories::getInstance().removeSceneFactory(scene.get()); 
	//GameFactories::getInstance().removeSceneFactory(scene1.get()); 
	GameFactories::getInstance().removeDirectorFactory(director.get());
	GameFactories::getInstance().removeTheaterFactory(theater.get());
	//GameFactories::getInstance().removeActorFactory(actor.get());
	//GameFactories::getInstance().removeActorFactory(actor_dandelion.get());*/
}